﻿using Ebusiness_UserService.Model;

namespace Ebusiness_UserService.Repositorys
{
    /// <summary>
    /// 防腐层
    ///     外部服务(短信服务、邮件服务、存储服务等)的变化会比较频繁。把这些服务定义为接口，
    ///     在内层代码中我们只定义和使用接口，在外层代码中定义接口的实现。体现的仍然是洋葱架构的理念。
    ///     领域层 为领域服务、应用服务 提供外部服务 
    ///     
    ///     放在领域层
    /// </summary>
    public interface ISmsCodeSender
    {
        /// <summary>
        /// 发送短信验证码服务
        /// </summary>
        /// <param name="phoneNumber"></param>
        /// <param name="code"></param>
        /// <returns></returns>
        Task SendCodeAsync(PhoneNumber phoneNumber, string code);
    }
}
